/**
 * 初始化
 */
$(function() {
	
	
	function initConfirmButtonShow(){
		$.ajax({
			url: rootPath + "/pointMonth/listPointMonthConfirmStatus",
			type: 'post',
			dataType: 'json',
			data:{
				month : $("#month").val()
			},
			success:function(data){
				if(data.resultCode == 1){
					$("#confirm_button_div").hide();
				}else{
					$("#confirm_button_div").show();
				}
			},
			error:function(){
			}
		});
	}
	
	

	$('#month').datetimepicker({
		format : 'yyyymm',
		weekStart : 1,
		autoclose : true,
		startView : 3,
		// startDate : new Date(),
		startDate : '2000-01-01',
		minDate : '2000-01-01',
		maxDate : '2199-12-31',
		minView : 3,
		forceParse : false,
		language : 'zh-CN'
	});

	$('#month').datetimepicker('setDate', new Date());

	// 初始化列表
	initpointMonthTable();
	
	initConfirmButtonShow();
	
	// 查询
	$('#btnQuery').on('click', function() {
		sys.reloadTable('pointMonthTable');
		initConfirmButtonShow();
	});

	// 清空
	$('#btnClear').on('click', function() {
		$("#pointMonthForm input").val("");
	});
	
	/**
	 * 键盘点击事件，回车键，执行搜索
	 */
	$("input").bind('keypress', function(event) {
		if (event.keyCode == "13") {
			sys.reloadTable('pointMonthTable');
		}
	});
});

var curRow = {};
function initpointMonthTable() {
	// 定义列
	var columns = [
			{
				field : 'no',
				title : '序号',
				align : 'left',
				valign : 'middle',
				formatter : function(value, row, index) {
					var options = $("#pointMonthTable").bootstrapTable("getOptions");
					return options.pageSize * (options.pageNumber - 1) + index + 1;
				}
			},
			{
				field : 'id',
				title : 'ID',
				align : 'center',
				valign : 'middle',
				visible : false
			},
			{
				field : 'customerId',
				title : '客户ID',
				align : 'center',
				valign : 'middle',
				visible : false
			},
			{
				field : 'month',
				title : '月度',
				align : 'center',
				valign : 'middle'
			},
			{
				field : 'mobile',
				title : '客户号码',
				align : 'center',
				valign : 'middle'
			},
			{
				field : 'customerName',
				title : '客户名称',
				align : 'center',
				valign : 'middle'
			},
			{
				field : 'companyName',
				title : '客户单位',
				align : 'center',
				valign : 'middle'
			},
			{
				field : 'beginPoint',
				title : '期初积分',
				align : 'center',
				valign : 'middle'
			},
			{
				field : 'orderPoint',
				title : '本月订单增加<br>积分(系统)',
				align : 'center',
				valign : 'middle',
				visible : false
//				,formatter : function(value, row, index) {
//					// 订单原积分
//					var sysOrderPoint = row.orderPoint;
//					// 已增加积分
//					var pointAdded = row.pointAdded ? row.pointAdded : 0;
//					// 已扣减
//					var pointMinused = row.pointMinused ? row.pointMinused : 0;
//					var resultPoint = sysOrderPoint + pointAdded - pointMinused;
//					return "<div id='pointDiv" + row.id + "'>" + resultPoint + "</div>";
//				}
			},
			{
				// field : 'userOrderPoint',
				title : '<font color="#f89406">订单实际增加<br>积分(点击可修改)</font>',
				align : 'center',
				valign : 'middle',
				width : '100px',
				formatter : function(value, row, index) {
					// 订单原积分
					var sysOrderPoint = row.orderPoint;
					// 已增加积分
					var pointAdded = row.pointAdded ? row.pointAdded : 0;
					// 已扣减
					var pointMinused = row.pointMinused ? row.pointMinused : 0;
					// 准备增加
					var pointAdd = row.pointAdd ? row.pointAdd : 0;
					// 准备扣减
					var pointMinus = row.pointMinus ? row.pointMinus : 0;
					var resultPoint = sysOrderPoint + pointAdded + pointAdd - pointMinused - pointMinus;
					if(resultPoint < 0) {
						resultPoint = 0;
					}
					return "<a href=\"#\" name=\"orderPoint\" data-type=\"text\" data-pk=\"" + row.id
							+ "\" data-title=\"订单增加积分\">" + resultPoint + "</a>";
				}
			}, {
				title : '订单增加积分<br>（待确认）',
				align : 'center',
				valign : 'middle',
				visible : false
//				,formatter : function(value, row, index) {
//					var pointAdd = row.pointAdd ? row.pointAdd : 0;
//					var pointMinus = row.pointMinus ? row.pointMinus : 0;
//					// var resultPoint = pointAdd + pointMinus;
//					if (pointAdd > 0) {
//						return "<font color='green'> + " + pointAdd + "</font>"
//					}
//					if (pointMinus > 0) {
//						return "<font color='red'> - " + pointMinus + "</font>"
//					}
//				}
			}, {
				field : 'signPoint',
				title : '签到增加积分',
				align : 'center',
				valign : 'middle',
				formatter : function(value, row, index) {
					if (value != 0) {
						return "<font color='green'> + " + value + "</font>"
					} else {
						return value;
					}
				}
			}, {
				field : 'manualAddPoint',
				title : '人工增加积分',
				align : 'center',
				valign : 'middle',
				formatter : function(value, row, index) {
					if (value != 0) {
						return "<font color='green'> + " + value + "</font>"
					} else {
						return value;
					}
				}
			}, {
				field : 'manualReducePoint',
				title : '人工核减积分',
				align : 'center',
				valign : 'middle',
				formatter : function(value, row, index) {
					if (value != 0) {
						return "<font color='red'> - " + value + "</font>"
					} else {
						return value;
					}
				}
			}, {
				field : 'usedPoint',
				title : '本月使用积分',
				align : 'center',
				valign : 'middle',
				formatter : function(value, row, index) {
					if (value != 0) {
						return "<font color='red'> - " + value + "</font>"
					} else {
						return value;
					}
				}
			}, {
				field : 'endPoint',
				title : '期末积分',
				align : 'center',
				valign : 'middle',
				formatter : function(value, row, index) {
					if (value < 0) {
						return 0;
					} else {
						return value;
					}
				}
			}, {
				title : '调整标识',
				align : 'center',
				valign : 'middle',
				formatter : function(value, row, index) {
					if (row.pointAdd || row.pointMinus) {
						return "<div id='statusDiv" + row.id + "'><span class='label label-danger'>待确认</span></div>";
					} else {
						return "<div id='statusDiv" + row.id + "'><span class='label label-success'>正常</span></div>";
					}
				}
			} ];

	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		var month = $("#month").val();
		var customerName = $("#customerName").val();
		var companyName = $("#companyName").val();
		var mobile = $("#mobile").val();
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
			customerName : customerName,
			companyName : companyName,
			mobile : mobile,
			month : month
		};
	};

	var url = rootPath + "/pointMonth/listPointMonthPage"; // 请求json数据的服务器地址
	sys.initTable('pointMonthTable', {
		url : url,
		queryParams : queryParams,
		columns : columns,
		striped : true,
		clickToSelect : true,
		onClickRow : function(row, $element) {
			curRow = row;
		},
		onLoadSuccess : function(r1, r2, r3) {
			$("#pointMonthTable a").editable({
				url : function(params) {
					var name = $(this).attr("name");
					var orderPoint = params.value;
					var id = params.pk;
					$.ajax({
						type : 'post',
						url : rootPath + "/pointMonth/saveOrderPoint",
						data : {
							id : id,
							orderPoint : orderPoint
						},
						dataType : 'JSON',
						success : function(json, textStatus, jqXHR) {
							if (json.code == '1') {
								showSuccess(json.msg, function() {
									// sys.reloadTable('pointMonthTable');
									$("#statusDiv" + id).html("<span class='label label-danger'>待确认</span>");
									$("#pointDiv" + id).html(orderPoint);
								});
							} else {
								showErr(json.msg);
							}
						},
						error : function() {
							showErr('保存失败~');
						}
					});
				},
				type : 'text'
			});
		},
		onEditableSave : function(field, row, oldValue, $el) {
			debugger;
		}
	});
	
	
}

// 编辑
function toEdit(id) {
	$("#userOrderPointDiv" + id).hide();
	$("#userOrderPointEditDiv" + id).show();
	$("#btnEditDiv" + id).hide();
	$("#btnSaveDiv" + id).show();
}

// 保存
function toSave(id) {
	$("#btnEditDiv" + id).show();
	$("#btnSaveDiv" + id).hide();
	$("#userOrderPointDiv" + id).html('');
	var orderPoint = $("#userOrderPoint" + id).val();
	if (!(/^([0-9][0-9]*(\.[0-9]{1,6})?|0\.(?!0+$)[0-9]{1,6})$/.test(orderPoint))) {
		showErr('请输入正确的');
		return;
	}
	// 执行调整
	$.ajax({
		url : rootPath + "/pointMonth/saveOrderPoint",
		type : "post",
		async : false,
		dataType : 'json',
		data : {
			monthId : id,
			orderPoint : orderPoint
		},
		success : function(json) {
			if (json.code == '1') {
				showSuccess(json.msg, function() {
					sys.reloadTable('pointMonthTable');
				});
			} else {
				showErr(json.msg);
			}
		}
	});
}
// 确认
function toConfirm() {
	showConfirm("确认调整积分信息吗？确认后订单积分将立即到账！一个月只能确认一次！", function() {
		var month = $("#month").val();
		if($.trim(month).length == 0 ){
			showErr("请查询某月份积分后，进行确认调整");
			return false;
		}
		// 执行调整
		$.ajax({
			url : rootPath + "/pointMonth/doConfirmModify",
			type : "post",
			async : false,
			dataType : 'json',
			data:{
				month: month
			},
			success : function(json) {
				if (json.code == '1') {
					showSuccess(json.msg, function() {
						sys.reloadTable('pointMonthTable');
						$("#btnAuditAll").hide();
					});
				} else {
					showErr(json.msg);
				}
			}
		});
	});
}